.. _cmlPmHomeGetSuccess: cmlPmHomeGetSuccess ================================ -------------------------------- SYNOPSYS ````````````` .. code-block:: none VT_I4 cmlPmHomeSetSuccess ([in] VT_I4 BoardID, [in] VT_I4 NodeId, [in] VT_I4 Channel, [in] VT_I4 IsSuccess ) DESCRIPTION ````````````` - cmlPmHomeSetSuccess() 함수는 ì›ì ë³µê·€ì˜ ì„±ê³µ ì—¬ë¶€ì— ëŒ€í•œ ìƒíƒœë¥¼ ê°•ì œë¡œ ì„¤ì •í•˜ëŠ” 함수입니다. ì¼ë°˜ì 으로는 ì›ì 복귀 완료 ìƒíƒœëŠ” ì›ì ë³µê·€ì˜ ì‹¤ì œ ìˆ˜í–‰ì— ì˜í•´ì„œ ì„¤ì •ë©ë‹ˆë‹¤. 그러나 필요한 ê²½ìš°ì— ê°•ì œë¡œ ì„¤ì •í• ìˆ˜ 있습니다. \ - ì´ í•¨ìˆ˜ì˜ ì‚¬ìš©ê³¼ í˜¸ì¶œì— ìžˆì–´, ì œê³µëœ ãˆœì»¤ë¯¸ì¡°ì•„ì˜ í•¨ìˆ˜ í—¤ë” Visual Basic ì—서는 í•¨ìˆ˜ì˜ ì²¨ë‘ì–´ cml ê°€ 붙지 않습니다. PARAMETER ````````````` â–¶ BoardID : 사용ìžê°€ ì„¤ì •í•œ 디바ì´ìŠ¤(ë³´ë“œ) ID. â–¶ NodeId : 사용ìžê°€ ì œì–´í•˜ê³ ìž í•˜ëŠ” 노드 번호. â–¶ Channel : 축 번호. 통합 축으로 관리ë˜ëŠ” 축 번호를 ì˜ë¯¸í•˜ë©°, ìƒìˆ˜ 값으로 0 (Zero Based) ì´ìƒ, 최대 통합 축 개수 - 1 ì´í•˜ì˜ ê°’ì„ ì¶• 번호로 ì„¤ì •í• ìˆ˜ 있습니다. â–¶ IsSuccess : cmlPmHomeGetSuccess() í•¨ìˆ˜ì˜ ì¸ìžì´ë©°, ì´ í•¨ìˆ˜ê°€ í˜¸ì¶œëœ ì‹œì ì„ ê¸°ì¤€ìœ¼ë¡œ ì´ì „ì— ì›ì 복귀가 성공ì 으로 ì™„ë£Œëœ ìƒíƒœì¸ì§€ë¥¼ ì•Œë ¤ 주는 매개 변수입니다. .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning 0(cmlFALSE), ì§€ì •í•œ ì¶•ì„ ì›ì 복귀 ì´ì†¡ì´ 진행 ì¤‘ì¸ ìƒíƒœ í˜¹ì€ ë¹„ì •ìƒì 으로 ì™„ë£Œëœ ìƒíƒœë¡œ ì„¤ì •í•©ë‹ˆë‹¤. 1(cmlTRUE), ì§€ì •í•œ ì¶•ì„ ì›ì 복귀 ì´ì†¡ì´ ì •ìƒì 으로 ì™„ë£Œëœ ìƒíƒœë¡œ ì„¤ì •í•©ë‹ˆë‹¤. RETURN VALUE ````````````` .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning ìŒìˆ˜, 수행 실패 ERR_NONE, 수행 성공 REFERENCE ````````````` - ì›ì ë³µê·€ì˜ ì„±ê³µ ì—¬ë¶€ì— ëŒ€í•œ 플래그 ê°’ì€ ì‘ìš©í”„ë¡œê·¸ëž¨ì´ ì¢…ë£Œ(終了)ë˜ì–´ë„ 그대로 ìœ ì§€ë©ë‹ˆë‹¤. ë”°ë¼ì„œ 다시 ì‘ìš©í”„ë¡œê·¸ëž¨ì´ ì‹œìž‘ë˜ë©´ ì´ì „ì— ì›ì 복귀를 ì •ìƒì 으로 수행했었는지를 ì•Œ 수가 있습니다. 단, PCì˜ í•˜ë“œì›¨ì–´ì ì¸ ì „ì›ì´ 차단ë˜ê±°ë‚˜ 재 시작(Rebooting) ë˜ë©´ ê·¸ ê°’ì€ FALSEë¡œ 리셋ë©ë‹ˆë‹¤. ë”°ë¼ì„œ cmlPmHomeGetSuccess() í•¨ìˆ˜ì˜ ì´ëŸ¬í•œ 특성(特性)ì„ í™œìš©í•˜ë©´ í”„ë¡œê·¸ëž¨ì´ ì¢…ë£Œë˜ì—ˆë‹¤ê°€ 다시 실행ë ë•Œ ì´ì „ì˜ ì›ì 복귀 수행여부를 확ì¸(確èª)í• ìˆ˜ê°€ 없어서 매번 ì›ì 복귀를 수행해야 í–ˆë˜ ë¶ˆíŽ¸ì„ ë³´ì™„(補完)í• ìˆ˜ 있습니다. \ - IsSuccess 매개 변수(媒介變數)ê°€ FALSEì¸ ê²½ìš°ëŠ” ì›ì 복귀가 ì§„í–‰ì¤‘ì¸ ê²½ìš°ë¥¼ ì˜ë¯¸í• ìˆ˜ë„ ìžˆê³ ë¹„ì •ìƒì 으로 종료ë˜ì—ˆìŒì„ ì˜ë¯¸í• ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤. ë”°ë¼ì„œ cmlPmHomeMoveStart() 함수를 사용한 경우ì—는 ë¨¼ì € cmlPmHomeIsBusy() 함수나 cmlPmHomeWaitDone() 함수를 ì„ í–‰í•˜ì—¬ 완료를 확ì¸(確èª)í•œ í›„ì— cmlPmHomeGetSuccess()를 사용하여 성공여부를 확ì¸(確èª)하는 ê²ƒì´ ì •ì„입니다. \ - ì´ì „ì— ì›ì 복귀가 성공ì 으로 수행ë˜ì—ˆë”ë¼ë„ 해당 ì¶•ì˜ ì›ì 복귀를 다시 시작하면 ì›ì ë³µê·€ì˜ ì„±ê³µ ì—¬ë¶€ì— ëŒ€í•œ 플래그는 FALSEë¡œ 리셋(Reset)ë©ë‹ˆë‹¤. EXAMPLE ``````````````````` .. code-block:: c++ :linenos: :emphasize-lines: 5 C/C++ #include “ComiMLink2_SDK.h†#include “ComiMLink2_SDK_Def.h†long BoardID = 0; /* 0번 ì¶•ì— ëŒ€í•˜ì—¬ ì›ì 복귀 ì´ì†¡ì„ ì‹œìž‘í•˜ê³ , 진행 ìƒíƒœë¥¼ 확ì¸í•œ 후 완료 여부를 확ì¸í•©ë‹ˆë‹¤. */ long nIsHomming = cmlTRUE; cmlPmHomeMoveStart(BoardID, 0, ccmlX1 ); while( nIsHomming ) { //ì›ì 복귀 진행 여부를 확ì¸í•©ë‹ˆë‹¤. cmlPmSxWaitDone(BoardID, 0, ccmlX1, &nIsHomming ); } long nIsSuccess = cmlFALSE; //ì›ì 복귀 성공 여부를 확ì¸í•©ë‹ˆë‹¤. cmlPmHomeGetSuccess(BoardID, 0, ccmlX1, &nIsSuccess ); if( nIsSuccess ) {cmlMODE_SC MessageBox( "Home return success", "Message", MB_OK ); } else { OutputDebugString( "Home return fail!" ); }